import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
import java.util.*;
import javax.swing.*;
import java.awt.*;
import java.io.*; //Paquete para la administrasción de archivos

/**
 * Write a description of class Lecciones here.
 * 
 * @author (your name) 
 * @version (a version number or a date)
 */
public class Lecciones extends Actor
{
    //Define en que numero de leccion es la siguente o la anterior 
    private int nivel;
    private int numLeccion = 0;
    private String leccion = "";
    private boolean comienza;
    private String linea;
    private Icon icono;
    private ArrayList lista;
    private Object[] botones = {"Anterior", "Siguiente"};
    protected boolean finish = false;
    HtmlWorld world;
    File archivo = null;
    FileReader fr = null;
    BufferedReader br = null;
    int respuesta;
    
    public Lecciones(HtmlWorld w)
    {
        world = w;
        icono  =  new ImageIcon("iconoMundo.png");
        lista = new ArrayList();
        lista.add("Mi primer Html trae para ti los tutoriales");
        cargaLeccionesNivel1();
    }

    /**
     * Act - do whatever the Lecciones wants to do. This method is called whenever
     * the 'Act' or 'Run' button gets pressed in the environment.
     */
    public void act() 
    {
        respuesta = JOptionPane.showOptionDialog(null,lista.get(numLeccion),"Tutoriales",JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE,icono, botones, botones[0]);
        //Object[] valoresPosibles = {"Pedro", "Juan", "Carlos" }; 
        //Object jefe = JOptionPane.showInputDialog(null,leccion,"Tutoriale",JOptionPane.QUESTION_MESSAGE,null,valoresPosibles, valoresPosibles[0]);
        //respuesta = JOptionPane.showConfirmDialog(null,"¿Realmente Desea Salir de Hola Swing?","Confirmar Salida",JOptionPane.YES_NO_OPTION);
        switch(respuesta)
        {
            case 0:
                if(numLeccion > 1)
                {
                    numLeccion-=1;
                    
                }              
            break;
            case 1:
                if(numLeccion < (lista.size()))
                {
                    numLeccion += 1;
                }
                else
                    finish = true;
            break;
        
        }

         
       
    }  
    
    public boolean getFinally()
    {
        return finish;
    }
    
    public void cargaLeccionesNivel1()
    {
        try 
        {
            // Abrimos el fichero y creacion de BufferedReader para poder
            // hacer una lectura comoda (disponer del metodo readLine()).
            archivo = new File("tutorialesUno.txt");
            fr = new FileReader (archivo);
            br = new BufferedReader(fr);
            // Lectura del fichero linea por linea 
            while((linea=br.readLine())!=null)
            {
                lista.add(linea);
// aqui no va aumentando                  numLeccion++;
            }
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
        finally
        {
             // En el finally cerramos el fichero, para asegurarnos que se cierra tanto si todo va bien como si salta 
             // una excepcion.
            try
            {                    
                if( null != fr )
                {   
                    fr.close();     
                }                  
            }
            catch (Exception e2)
            { 
                e2.printStackTrace();
            }
        }
       
    }
    
    
    public void empiezaLecciones2(int leccion)
    {
 
    }
    
    public void empiezaLecciones3(int leccion)
    {
  
    }
    
    public void empiezaLecciones4(int leccion)
    {
     
    }
    
    public void empiezaLecciones5(int leccion)
    {
     
    }
    
}
